Construction planning has typically been performed manually. To the extent that any construction planning processes can be automated, they have been limited to critical path method processes where the materials, resources, and other constraints for individual tasks are modeled. However, assignment of these tasks to locations within a construction project and coordination of the tasks has been performed manually. As a result, whenever changes are made to the design, an extensive amount of manual work must be done, which prevents changes from being readily modeled and tested.